Tìm kiếm theo chiều rộng
Tìm kiếm theo chiều rộng

Tìm kiếm theo chiều rộng

Trong lý thuyết đồ thị, tìm kiếm theo chiều rộng (BFS) là một thuật toán tìm kiếm trong đồ thị trong đó việc tìm kiếm chỉ bao gồm 2 thao tác: (a) cho trước một đỉnh của đồ thị; (b) thêm các đỉnh kề với đỉnh vừa cho vào danh sách có thể hướng tới tiếp theo. Có thể sử dụng thuật toán tìm kiếm theo chiều rộng cho hai mục đích: tìm kiếm đường đi từ một đỉnh gốc cho trước tới một đỉnh đích, và tìm kiếm đường đi từ đỉnh gốc tới tất cả các đỉnh khác. Trong đồ thị không có trọng số, thuật toán tìm kiếm theo chiều rộng luôn tìm ra đường đi ngắn nhất có thể. Thuật toán BFS bắt đầu từ đỉnh gốc và lần lượt nhìn các đỉnh kề với đỉnh gốc. Sau đó, với mỗi đỉnh trong số đó, thuật toán lại lần lượt nhìn trước các đỉnh kề với nó mà chưa được quan sát trước đó và lặp lại. Xem thêm thuật toán tìm kiếm theo chiều sâu, trong đó cũng sử dụng 2 thao tác trên nhưng có trình tự quan sát các đỉnh khác với thuật toán tìm kiếm theo chiều rộng.

Tìm kiếm theo chiều rộng

Độ phức tạp không gian trường hợp tệ nhất O ( | V | ) = O ( b d ) {\displaystyle O(|V|)=O(b^{d})}
Cấu trúc dữ liệu Đồ thị
Phân loại Thuật toán tìm kiếm
Tối ưu tối ưu (cho đồ thị không trọng số)
Hiệu suất trường hợp tệ nhất O ( | V | + | E | ) = O ( b d ) {\displaystyle O(|V|+|E|)=O(b^{d})}